<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page import="java.io.*,java.text.*,java.util.*,java.sql.*,java.text.SimpleDateFormat,java.text.DateFormat,java.util.Date,javax.servlet.*,javax.servlet.http.*,DBstep.iDBManager2000.*" %>
<%
	//取得唯一值(mRecordID)
        java.util.Date dt=new java.util.Date();
        long lg=dt.getTime();
        Long ld=new Long(lg);
	//初始化值
       String mRecordID=ld.toString();//保存的是文档的编号，通过该编号，可以在里找到所有属于这条纪录的文档
		

%>

<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
		<title>正文</title>
		<link href="css/table.css" rel="stylesheet" type="text/css" />
		<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
		<script language="javascript" for=WebOffice event="OnMenuClick(vIndex,vCaption)">
		  if (vIndex==1){  
		    WebOpenLocal();     //打开本地文件
		  }
		  if (vIndex==2){  
		  WebAcceptAllRevisions();
		    WebSaveLocal();     //保存本地文件
		  }
		  if (vIndex==5){  
		    WebOpenSignature(); //签名印章
		  }
		  if (vIndex==6){  
		    WebShowSignature(); //验证签章
		  }
		  if (vIndex==8){  
		    WebSaveVersion();   //保存版本
		  }
		  if (vIndex==9){  
		    WebOpenVersion();   //打开版本
		  }
		  if (vIndex==13){  
		    WebOpenPrint();     //打印文档
		  }
		   if (vIndex==14){  //套用模版
		      WebUseTemplate();
		   }
		   if (vIndex==15){  //填充模板
		       LoadBookmarks();
		   }
		   if(vIndex==16){  //解除锁定
		       WebProtect(false);
		   }
</script>
<script type="text/javascript">


//作用：显示操作状态
function StatusMsg(mString){
  StatusBar.innerText=mString;
}
//作用：载入iWebOffice
function LoadWeboffice(){
  try{
   var id="";
	if('${wordId}'==''||'${wordId}'=='null'){
		id=<%=mRecordID%>;
	}else{
		id='${wordId}';
	}
	$("#contentId").val(id);
  //以下属性必须设置，实始化iWebOffice
  webform.WebOffice.WebUrl="jsp/template/OfficeServer.jsp";    //WebUrl:系统服务器路径，与服务器文件交互操作，如保存、打开文档，重要文件
  webform.WebOffice.RecordID=id;   //RecordID:本文档记录编号
  webform.WebOffice.FileType=".doc";   //FileType:文档类型  .doc  .xls  .wps
  webform.WebOffice.EditType="${status}";   //EditType:编辑类型  方式一、方式二  <参考技术文档>
  webform.WebOffice.UserName="${sessionScope.userInfo.name}";   //UserName:操作用户名
   webform.WebOffice.ExtParam="${sessionScope.userInfo.id};${sessionScope.userInfo.orgId}";  //自定义参数
  //以下属性可以不要
    webform.WebOffice.AllowEmpty=false;                     //控制不允许保存空白内容的文档
  
  webform.WebOffice.ShowMenu="1";  //ShowMenu:1 显示菜单  0 隐藏菜单
 //以下为自定义菜单↓
    webform.WebOffice.AppendMenu("1","打开本地文件(&L)");
    webform.WebOffice.AppendMenu("2","保存本地文件(&S)");
    webform.WebOffice.AppendMenu("4","-");
    webform.WebOffice.AppendMenu("5","签名印章(&Q)");
    webform.WebOffice.AppendMenu("6","验证签章(&Y)");
    webform.WebOffice.AppendMenu("7","-");
    webform.WebOffice.AppendMenu("8","保存版本(&B)");
    webform.WebOffice.AppendMenu("9","打开版本(&D)");
    webform.WebOffice.AppendMenu("12","-");
    webform.WebOffice.AppendMenu("13","打印文档(&P)");
    webform.WebOffice.AppendMenu("14","套用模版");
     webform.WebOffice.AppendMenu("16","解除锁定");//解除锁定
    //以上为自定义菜单↑
    webform.WebOffice.DisableMenu("宏(&M);选项(&O)...");    //禁止某个（些）菜单项

  webform.WebOffice.WebOpen();  	//打开该文档    交互OfficeServer的OPTION="LOADTEMPLATE"
  StatusMsg(webform.WebOffice.Status);
  }catch(e){}
}

//作用：保护与解除  参数1为true表示保护文档  false表示解除保护
function WebProtect(value){
  try{
    webform.WebOffice.WebSetProtect(value,"");  //""表示密码为空
  }catch(e){}
}
//作用：退出iWebOffice
function UnLoad(){
  try{
    if (!webform.WebOffice.WebClose()){
      StatusMsg(webform.WebOffice.Status);
    }
    else{
      StatusMsg("关闭文档...");
    }
  }
  catch(e){
    alert(e.description);
  }
}
function closeWord(){
    window.close();
	UnLoad();
}
//作用：验证印章A
function WebShowSignature(){
  try{
    webform.WebOffice.WebShowSignature();  	//交互OfficeServer的OPTION="LOADSIGNATURE"
    StatusMsg(webform.WebOffice.Status);
  }
  catch(e){
    alert(e.description);
  }
}

//接受文档中全部痕迹
function WebAcceptAllRevisions(){
  webform.WebOffice.WebObject.Application.ActiveDocument.AcceptAllRevisions();
  var mCount = webform.WebOffice.WebObject.Application.ActiveDocument.Revisions.Count;
  if(mCount>0){
    return false;
  }else{
    return true;
  }
}
//作用：验证印章B
function WebCheckSignature(){
  try{
    var i=webform.WebOffice.WebCheckSignature();  	//交互OfficeServer的OPTION="LOADSIGNATURE"
    alert("检测结果："+i+"\r\n 注释: (=-1 有非法印章) (=0 没有任何印章) (>=1 有多个合法印章)");
    StatusMsg(i);
  }
  catch(e){
    alert(e.description);
  }
}

//作用：签名印章
function WebOpenSignature(){
  try{
    webform.WebOffice.WebOpenSignature();  	//交互OfficeServer的 A签章列表OPTION="LOADMARKLIST"    B签章调出OPTION="LOADMARKIMAGE"    C确定签章OPTION="SAVESIGNATURE"    <参考技术文档>
    StatusMsg(webform.WebOffice.Status);
  }catch(e){}
}


//作用：模版套红功能
function WebUseTemplate(){
  var mDialogUrl = "templateContentList.action";
  var mObject = new Object();
  mObject.Template = "";
  window.showModalDialog(mDialogUrl, mObject, "dialogHeight:200px; dialogWidth:360px;center:yes;scroll:no;status:no;");

  //判断用户是否选择模板
  if (mObject.Template==""){
    StatusMsg("取消套用模");
    return false;
  }else{
   webform.WebOffice.EditType="1";    
    webform.WebOffice.Template=mObject.Template;       	//全局变量Template赋值，此示例读取服务器目录中模板，如读取数据库中模板，Template值为数据库中的模板编号，则上句代码不需要，如Template="1050560363767"，模板名称为“Word公文模板”，注：模板中有要标签Content，区分大小写，可以自行修改
    if (webform.WebOffice.WebLoadTemplate()){                    //交互OfficeServer的OPTION="LOADTEMPLATE"
	    if (webform.WebOffice.WebInsertFile()){                   //填充公文正文   交互OfficeServer的OPTION="INSERTFILE"
	        StatusMsg("模板套红成功");
	         webform.WebOffice.EditType="3";    
	        return true;
	      }else{
	        StatusMsg(webform.WebOffice.Status);
	        return false;
	      }
    }else{
       StatusMsg(webform.WebOffice.Status);
    }
  }
}
  

//作用：打开文档
function LoadDocument(){
  StatusMsg("正在打开文档...");
  if (!webform.WebOffice.WebOpen()){  	//打开该文档    交互OfficeServer的OPTION="LOADFILE"
    StatusMsg(webform.WebOffice.Status);
  }
  else{
    StatusMsg(webform.WebOffice.Status);
  }
}

//作用：保存文档
function SaveDocument(){
	var id=$("#contentId").val();
	var proportyName=$("#proportyName").val();
  //webform.WebOffice.WebSetMsgByName("MyDefine1","自定义变量值1");  //设置变量MyDefine1="自定义变量值1"，变量可以设置多个  在WebSave()时，一起提交到OfficeServer中
  if (!webform.WebOffice.WebSave()){    //交互OfficeServer的OPTION="SAVEFILE"  注：WebSave()是保存复合格式文件，包括OFFICE内容和手写批注文档；如只保存成OFFICE文档格式，那么就设WebSave(true)
    StatusMsg(webform.WebOffice.Status);
    window.opener.saveText(proportyName,id);
    UnLoad();
     window.close();
    return false;
  }
  else{
  	window.opener.saveText(proportyName,id);
    StatusMsg(webform.WebOffice.Status);
    window.close();
    return true;
  }
}

//作用：打印文档
function WebOpenPrint(){
  try{
    webform.WebOffice.WebOpenPrint();
    StatusMsg(webform.WebOffice.Status);
  }catch(e){}
}

//作用：页面设置
function WebOpenPageSetup(){
   try{
	if (webform.WebOffice.FileType==".doc"){
	  webform.WebOffice.WebObject.Application.Dialogs(178).Show();
	}
	if(webform.WebOffice.FileType==".xls"){
	  webform.WebOffice.WebObject.Application.Dialogs(7).Show();
	}
   }catch(e){

   }
}

//作用：存为本地文件
function WebSaveLocal(){
  try{
  	 WebProtect(false);
    webform.WebOffice.WebSaveLocal();
    StatusMsg(webform.WebOffice.Status);
  }catch(e){}
}

//作用：打开本地文件
function WebOpenLocal(){
  try{
    webform.WebOffice.WebOpenLocal();
    StatusMsg(webform.WebOffice.Status);
  }catch(e){}
}
//作用：显示或隐藏痕迹[隐藏痕迹时修改文档没有痕迹保留]  true表示隐藏痕迹  false表示显示痕迹
function ShowRevision(mValue){
  if (mValue){
    webform.WebOffice.WebShow(true);
    StatusMsg("显示痕迹...");
  }
  else{
    webform.WebOffice.WebShow(false);
    StatusMsg("隐藏痕迹...");
  }
}

//作用：获取痕迹
function WebGetRevisions(){
  var Rev = webform.WebOffice.WebObject.Revisions;		//获取痕迹对象
  var Text="";

  for (i = 1;i <= Rev.Count;i++){
    Text=Text +"“"+ Rev.Item(i).Author+"”";
    if (Rev.Item(i).Type=="1"){
      Text=Text + '进行插入：'+Rev.Item(i).Range.Text+"\r\n";
    }else if (Rev.Item(i).Type=="2"){
      Text=Text + '进行删除：'+Rev.Item(i).Range.Text+"\r\n";
    }
	else {
      Text=Text + '进行其他操作，操作内容：“'+Rev.Item(i).Range.Text+ '”；操作：“'+Rev.Item(i).FormatDescription+"”。\r\n";
    }
  }
  alert("痕迹内容：\r\n\r\n"+Text);
}

	

</script>
	</head>
	<input type="hidden" id="proportyName" value="${proportyName}">
	<body onload="LoadWeboffice()" onunload="UnLoad()">
			<table align="center" border="0" cellpadding="0" cellspacing="0" width="98%">
				<tbody>
					<tr>
						<td style="background: url('image/wsoa_window_002.gif');" width="1"></td>
						<td style="background: url('image/wsoa_window_002.gif');">
							<table border="0" cellpadding="0" cellspacing="0">
								<tbody>
									<tr>
										<td align="center" style="background: url('image/wsoa_window_002.gif');" width="10">
											<img src="image/center_19.gif">
										</td>
										<td align="center" style="background: url('image/wsoa_window_002.gif');"></td>
										<td></td>
									</tr>
								</tbody>
							</table>
						</td>
						<td style="background: url('image/wsoa_window_002.gif');" width="1"></td>
					</tr>
					<tr>
						<td style="background: url('image/wsoa_window_010.gif');" width="1">
							&nbsp;
						</td>
						<td>
							<form action=""  name="webform"  method="post" >
								<input type="hidden" id="contentId" name="contentId" value="${wordId}" >
							<div id="bottom">
								<table style="width: 100%;" class="table5">
									<tbody>
										<tr>
											<td valign="top"  class="table5" colspan="3" align="left" >
											<table border=0 cellspacing='0' cellpadding='0' width='100%' >
									          <tr>
									          <td width="100%" height='600px' >
											<script type="text/javascript" src="js/iWebOffice2003.js"></script>
											</td>
											</tr>
								        </table>
								        </td></tr>
									</tbody>
								</table>
								<table style="width: 100%;" align="center" border="0">
									<tbody>
										<tr>
											<td align="center">
												<c:if test='${status!="0"&&status!="-1,1,0,0,0,0,0"}'>
												<input class="button_04" onclick="SaveDocument()"  type="button" value="保存" />
												</c:if>
												<input class="button_04" type="button" onclick="closeWord()" value="关闭" />
												<input type=button class=button_04 value="显示痕迹"  onClick="ShowRevision(true)">
          										<input type=button class=button_04 value="隐藏痕迹" onClick="ShowRevision(false)">
												<c:if test='${status!="0"&&status!="-1,1,0,0,0,0,0"}'>
												(正文保存后才有效)
												</c:if>
												</td>
										</tr>
									</tbody>
								</table>
							</div>
							<div id=StatusBar >状态栏</div>
								</form>

						</td>
						<td style="background: url('image/wsoa_window_006.gif');"
							width="1">
							&nbsp;
						</td>
					</tr>
					<tr>
						<td height="1" width="1">
							<img src="image/wsoa_window_009.gif" height="16" width="14">
						</td>
						<td style="background: url('image/wsoa_window_008.gif');"
							height="1"></td>
						<td height="1" width="1">
							<img src="image/wsoa_window_007.gif" height="16" width="12">
						</td>
					</tr>
				</tbody>
			</table>
	</body>

</html>